
{***********************************************************}
{                                                           }
{      Informix esql "ifxtypes.h"                           }
{                                                           }
{      Translated to Object Pascal by                       }
{      Copyright (c) 2001-2008 Luxena Software Company      }
{      http://www.luxena.com                                }
{      e-mail: support@luxena.com                           }
{                                                           }
{***********************************************************}

unit IfxTypes;

{$I lx.inc}

interface

const
  MI_INT_SIZE = 32;
  MI_LONG_SIZE = 32;
  MI_PTR_SIZE = 32;

type

// Warning: Do not delete line below. Delimits ESQL/C predefined types
// ESQLC_PREDEFS
// typedef's in this section must start with "typedef" in the first column
// and the have the complete statment on one line.


//************************************************************************
// Define standard 1 byte, 2 byte, and 4 byte integers


// The int4/int2/int1 types are defined under _MITYPES_INCL
// to ensure compatibilty  with 9.14


  int4 = LongInt;
  int2 = SmallInt;
  int1 = Char;

  mint = Integer;
  mlong = LongInt;

  PInt4 = ^int4;
  PInt2 = ^int2;
  PInt1 = ^int1;

  Pmint = ^mint;
  Pmlong = ^mlong;

//************************************************************************
// Define standard machine dependent types - a way of mapping data types
// to various machine specific data types. One of the reasons is to
// support write atomicity for all primary data types. For example,
// write atomicities for short and char are not supported on DEC ALPHA.
// If write atomicity is required for some variables or components of data
// structures, one can define them as MSHORT or MCHAR and map MSHORT or
// MCHAR in ifxtypes.h to other type for which write atomicity is supported.


  MSHORT = SmallInt;
  MCHAR = Char;

// ESQLC_PREDEFS
// Warning: Do not delete line above. Delimits ESQL/C predefined types

//************************************************************************
// Define standard unsigned integers.


// The unsigned int4/int2/int1 types are defined under _MITYPES_INCL
//  to ensure compatibilty with 9.14

  uint4 = Cardinal;
  uint2 = Word;
  uint1 = Byte;


  muint = Cardinal;
  mulong = LongWord;

//************************************************************************
// Define standard unsigned machine dependent types.

  MUSHORT = Word;
  MUCHAR = Byte;


implementation

end.